#include "EasyBMP.h"

RGBApixel GrayscaleFunction( double min, double value, double max );
RGBApixel BlueRedFunction( double min, double value, double max );
RGBApixel RainbowFunction( double min, double value, double max );

RGBApixel BlendColorsLinearAddition( RGBApixel Color1, double Fraction1, 
                                     RGBApixel Color2, double Fraction2 );
RGBApixel BlendColorsMultiplication( RGBApixel Color1, RGBApixel Color2);

bool DrawFrameBorder( BMP& Input );

RGBApixel ColorPixel( int i, int j );
bool DrawTumorAndBloodVessels( BMP& Window );

bool DrawGrayscaleColorbar( BMP& Input, double min, double max, 
                            int TopLeftX, int TopLeftY, int Width, int Height );
bool DrawBlueRedColorbar( BMP& Input, double min, double max, 
                          int TopLeftX, int TopLeftY, int Width, int Height );
bool DrawRainbowColorbar( BMP& Input, double min, double max, 
                          int TopLeftX, int TopLeftY, int Width, int Height );

bool CopyImage( BMP& To, BMP& From );                            

bool OverlayImage_MultiplicationBlending( BMP& To , BMP& From );
bool OverlayImage_MultiplicationBlending( BMP& To , BMP& From, double BlendParameter );
bool OverlayImage_ReplaceTransparent( BMP& To , BMP& From );

bool ClearImage( BMP& Input , RGBApixel ClearColor );

bool PlotLengthBar( BMP& Input, int TopLeftX, int TopLeftY, int Width, int Height, char* Label );

